drivers: fix switch statements to comply with MISRA rules
authorJonathan Wright <[email protected]>
Tue, 13 Mar 2018 15:24:29 +0000 (15:24 +0000)
committerJonathan Wright <[email protected]>
Mon, 26 Mar 2018 11:43:05 +0000 (12:43 +0100)
Ensure (where possible) that switch statements in drivers comply with
MISRA rules 16.1 - 16.7.

Change-Id: I7a91e04b02af80fbc4673a52293386c0f81a0f7a
Signed-off-by: Jonathan Wright <[email protected]>
drivers/arm/cci/cci.c
drivers/arm/gic/v2/gicv2_main.c
drivers/arm/gic/v3/gicv3_main.c
drivers/synopsys/emmc/dw_mmc.c
drivers/ufs/ufs.c

index e15683840dc00e2438f97f75548301ba13600a29..81808b9f70de316ce6c66d057f1a7eac55a82e02 100644 (file)
@@ -83,22 +83,25 @@ static unsigned int read_cci_part_number(uintptr_t base)
  */
 static int get_slave_ports(unsigned int part_num)
 {
-       /* Macro to match CCI products */
-#define RET_ON_MATCH(product) \
-       case CCI ## product ## _PART_NUM: \
-               return CCI ## product ## _SLAVE_PORTS
+       int num_slave_ports = -1;
 
        switch (part_num) {
 
-       RET_ON_MATCH(400);
-       RET_ON_MATCH(500);
-       RET_ON_MATCH(550);
-
+       case CCI400_PART_NUM:
+               num_slave_ports = CCI400_SLAVE_PORTS;
+               break;
+       case CCI500_PART_NUM:
+               num_slave_ports = CCI500_SLAVE_PORTS;
+               break;
+       case CCI550_PART_NUM:
+               num_slave_ports = CCI550_SLAVE_PORTS;
+               break;
        default:
-               return -1;
+               /* Do nothing in default case */
+               break;
        }
 
-#undef RET_ON_MATCH
+       return num_slave_ports;
 }
 #endif /* ENABLE_ASSERTIONS */
 
index 7e2c7a7b0ee15bc5c53d371c9222159634d457c1..e25e501df7220029bfe269f84f855c6c40a57711 100644 (file)
@@ -459,6 +459,7 @@ void gicv2_set_interrupt_type(unsigned int id, unsigned int type)
                break;
        default:
                assert(0);
+               break;
        }
        spin_unlock(&gic_lock);
 }
index f4a3ef81f97d1b285b341f39a44e0f534fd258c5..d8fc7d683fc4929616f281a552a10d13c9c1aee5 100644 (file)
@@ -1004,6 +1004,7 @@ void gicv3_set_interrupt_type(unsigned int id, unsigned int proc_num,
                break;
        default:
                assert(0);
+               break;
        }
 
        if (id < MIN_SPI_ID) {
index 701e6d53dbbdc9d63291da1efb6f8dd6b4887e50..156c2b4eb5ae7c126a0e81f3b471b7a39a7f8009 100644 (file)
@@ -321,6 +321,7 @@ static int dw_set_ios(int clk, int width)
                break;
        default:
                assert(0);
+               break;
        }
        dw_set_clk(clk);
        return 0;
index 254866f8c6efe8dcf34460c953ca70cada6d3c06..515fc2785ef7a2fb3842f48bd020dfb92c4c1902 100644 (file)
@@ -271,6 +271,7 @@ static int ufs_prepare_cmd(utp_utrd_t *utrd, uint8_t op, uint8_t lun,
                break;
        default:
                assert(0);
+               break;
        }
        if (hd->dd == DD_IN)
                flush_dcache_range(buf, length);
@@ -359,6 +360,7 @@ static int ufs_prepare_query(utp_utrd_t *utrd, uint8_t op, uint8_t idn,
                break;
        default:
                assert(0);
+               break;
        }
        flush_dcache_range((uintptr_t)utrd, sizeof(utp_utrd_t));
        flush_dcache_range((uintptr_t)utrd->header, UFS_DESC_SIZE);
@@ -511,6 +513,9 @@ static void ufs_query(uint8_t op, uint8_t idn, uint8_t index, uint8_t sel,
        case QUERY_WRITE_ATTR:
                assert(((buf & 3) == 0) && (size != 0));
                break;
+       default:
+               /* Do nothing in default case */
+               break;
        }
        get_utrd(&utrd);
        ufs_prepare_query(&utrd, op, idn, index, sel, buf, size);
@@ -533,6 +538,9 @@ static void ufs_query(uint8_t op, uint8_t idn, uint8_t index, uint8_t sel,
                       (void *)(utrd.resp_upiu + sizeof(query_resp_upiu_t)),
                       size);
                break;
+       default:
+               /* Do nothing in default case */
+               break;
        }
        (void)result;
 }